HOLCF is the definitional extension of Church's Higher-Order Logic with Scott's Logic
for Computable Functions that has been implemented in the theorem prover Isabelle. This
results in a flexible setup for reasoning about functional programs. HOLCF supports standard
domain theory (in particular fixpoint reasoning and recursive domain equations), but also
coinductive arguments about lazy datatypes. This paper describes in detail how domain theory
is embedded in HOL, and presents applications from functional programming, concurrency
and denotational semantics.